『Balancing Coupling in Software Design』
https://gyazo.com/508af3e269b771d57163208ecd1e8977
2024/9/12
モジュラーで進化可能なソフトウェアシステムを構築するツールとして、多次元結合モデルの力を活用する
この決定版ガイドでは、Vlad Khononovが、カップリングを強力な設計ツールに変える、モジュラー・ソフトウェア・システムを設計するための斬新なアプローチを紹介する。
ソフトウェアは、すべてのシステムと同様に、相互作用してシステムそのものを形成するコンポーネントで構成されている。カップリングは、接続されたコンポーネント間の相互依存性を表すために使用される指標であり、カップリングの大きさは、最終的にソフトウェアシステムの適応性と成功に影響する。Balancing Coupling in Software Design は、結合を評価する既存の手法を調査し、それらを統合して、ソフトウェア・システムのモジュール性を高めながら複雑さを管理する設計上の決定を下すための包括的なモデルである。
ソフトウェア開発において、カップリングはいたるところに存在する。関数を書いているのか、オブジェクトモデルを設計しているのか、分散システムをアーキテクトしているのか、あなたの仕事のレベルや肩書きが何であれ、本書はあなたのためにある。
ソフトウェア設計における結合とその現れ方を理解する。
結合の多次元的な力を評価する
結合の次元がどのように相互作用してシステムに影響を与えるかを理解する
システムを複雑化からモジュール化へと導く
ソフトウェア設計における結合のバランス』で説明されている原則は、ソフトウェア工学においていたるところで関連するものであり、ソフトウェア設計についての考え方を一変させるものです。DeepL.icon
ドメイン層というからには定義域の意味でのドメイン、すなわち業務データのinvariantsがあってこそ、だと思うのだが、「業務ロジックを実装する場所」みたいな曖昧な言い方をするものだから、いくらガイドラインを定めても枝葉にすぎず本質部分を何も制約できないことになる。
みたいなことを、Balancing Coupling in Software Designを読んで考えた。これはほんと良い本だ。